package cn.kust.clock.mapper;

import cn.kust.clock.pojo.entity.Comment;
import cn.kust.clock.pojo.vo.CommentSimpleVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author YL
 * @data 2022/7/21 15:03
 **/
@Repository
public interface CommentMapper extends BaseMapper<Comment> {
    /**
     * 获取游记的评论总数
     * @param typeId 游记id
     * @return 评论总数
     */
    Integer getCommentCountByTravelsId(Long typeId);

    /**
     * 获取打卡的评论总数
     * @param typeId 打卡id
     * @return 评论总数
     */
    Integer getCommentCountByClockId(Long typeId);

    /**
     * 根据类型与类型id查询对应的所有一级评论，按时间降序排序
     * @param type 游记或打卡类型
     * @param typeId 游记或打卡id
     * @return 一级评论列表 评论id 包括用户id 评论内容 创建时间
     */
    List<CommentSimpleVO> selectCommentOfLevelOne(Integer type, Long typeId);


    /**
     * 根据传入的评论id与父id字段比较，找出该评论的所有子评论，按时间降序排序
     * @param id 主键id--评论的id
     * @return 该id的子集评论列表 评论id 包括用户id 评论内容 创建时间
     */
    List<CommentSimpleVO> selectCommentByCommentId(Long id);

}
